Method and apparatus for playing a 360-degree video

ABSTRACT

According to an embodiment of the present disclosure, a method comprises playing, by the media player, a 360-degree video. The method further comprises recording, by the media player, one or more viewing angles corresponding to a user&#39;s viewing of the 360-degree video. Further, the method comprises detecting, by the media player, a video seek event to a seek point of the 360-degree video. The method further comprises playing, by the media player, the 360-degree video from the seek point according to a viewing angle determined based on at least one of (a) a recorded viewing angle and (b) a view mode.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a 371 of International Application No.PCT/KR2018/014618 filed on Nov. 26, 2018, which claims priority to IndiaPatent Application No. 201811001649 filed on Jan. 15, 2018, thedisclosures of which are herein incorporated by reference in theirentirety.

BACKGROUND 1. Field

The present disclosure relates to rendering digital content. Moreparticular, the present disclosure relates to rendering 360-degreevideos.

2. Description of Related Art

Immersive videos or 360-degree videos are growing in popularity. A360-degree video contains different video frames with different viewingangle information, such as 0° (default and front view), +90° (rightview), −90° (left view), +180° (back view), and −180° (back view). Suchvideos provide a wholesome viewing experience to the user by enablingthe user to view the video in every direction.

Users typically view 360-degree videos using media players supporting360-degree video playback. Such media players are provided on computingdevices, such as smartphones, laptops, and tablets, as standaloneapplications or in an embedded form in a browser of the computingdevices. A media player supporting 360-degree video playback renders a360-degree video based on viewing angle information associated with the360-degree video. During playback, the 360-degree video starts with thedefault view or as per a viewing angle/orientation of the user. Theuser, at any given instant, may change the viewing angle for enjoying awholesome experience of watching the 360-degree video.

Aforementioned technique of rendering 360-degree videos involves variousdrawbacks. For instance, no auto view-calibration option is provided. Ifa user starts watching a 360-degree video in sleeping posture, the mediaplayer may, by default, change the viewing angle to a top direction(upwards from the front view), which may not be what the user desired.

Consider another case where a user enjoyed watching a 360-degree video,where the user had changed the viewing angle multiple times and/or mayhave liked certain segments of the 360-degree video. Now, if the userseeks to watch the 360-degree video again, current techniques ofrendering 360-degree videos do not provide the user with an option toview the 360-degree video based on the user's previous viewing history.

In yet another case where a user may inadvertently change viewing angleduring playback of a 360-degree video, current techniques do not providethe user with an option to reset his viewing angle to the previousviewing angle. Furthermore, the current techniques do not provide theuser with an option to switch between a current viewing angle and thedefault-viewing angle thus, making it difficult to switch to the defaultview, as and when desired.

In yet another case, as information related to other user's viewing ofthe 360-degree video is absent, the user is not able to watch the360-degree video as per other users', for example, family members,viewing angles or is unaware of the most viewed angles related to the360-degree video. Thus, the user's experience of watching the 360-degreevideo is limited.

Thus, there exists a need for a solution to overcome at least one of theaforementioned deficiencies.

The above information is presented as background information only toassist with an understanding of the present disclosure. No determinationhas been made, and no assertion is made, as to whether any of the abovemight be applicable as prior art with regard to the present disclosure.

The present disclosure has been made to address at least the aboveproblems and/or disadvantages and to provide at least the advantagesdescribed below. Accordingly, an aspect of the present disclosure is toprovide a method and device for managing wireless connection in awireless communication system. The technical solution of the presentdisclosure includes the following.

An aspect of the present disclosure is to provide a method and anapparatus for playing a 360-degree video.

SUMMARY

In an embodiment of the present disclosure, a method comprises playing,by the media player, a 360-degree video. The method further comprisesrecording, by the media player, one or more viewing angles correspondingto a user's viewing of the 360-degree video. Further, the methodcomprises detecting, by the media player, a video seek event to a seekpoint of the 360-degree video. The method further comprises playing, bythe media player, the 360-degree video from the seek point according toa viewing angle determined based on at least one of (a) a recordedviewing angle and (b) a view mode.

In an embodiment of the present disclosure, an apparatus for playing a360-degree is disclosed. The apparatus comprises a rendering unit toplay a 360-degree video. The apparatus further comprises a recordingunit to record one or more viewing angles corresponding to a user'sviewing of the 360-degree video. Further, the apparatus comprises adetection unit to detect a video seek event to a seek point of the360-degree video, where the rendering unit further is to play the360-degree video from the seek point according to a viewing angledetermined based on at least one of (a) a recorded viewing angle and (b)a view mode.

In an embodiment of the present disclosure, a method comprises playing,by a media player, a 360-degree video. The method further comprisesdetecting, by the media player, (a) selection of a view mode from one ormore available view modes using a seek icon and, (b) a video seek eventto a seek point of the 360-degree video. Further, the method comprisesplaying, by the media player, the 360-degree video from the seek pointaccording to a viewing angle corresponding to the selected view mode.

In an embodiment of the present disclosure, an apparatus for playing a360-degree is disclosed. The apparatus comprises a rendering unit toplay a 360-degree video. The apparatus further comprises a detectionunit to detect: (a) selection of a view mode from one or more availableview modes using a seek icon and, (b) a video seek event to a seek pointof the 360-degree video. The rendering unit further is to play the360-degree video from the seek point according to a viewing anglecorresponding to the selected view mode.

To further clarify the advantages and features of the present invention,a more particular description of the invention will be rendered byreference to specific embodiments thereof, which is illustrated in theappended drawings. It is appreciated that these drawings depict onlytypical embodiments of the invention and are therefore not to beconsidered limiting of its scope. The invention will be described andexplained with additional specificity and detail with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of certain embodimentsof the present disclosure will be more apparent from following detaileddescription taken in conjunction with the drawings, wherein:

FIG. 1A illustrates a computing device including a system for rendering360-degree videos, according to embodiments of the present disclosure;

FIG. 1B illustrates implementation of a system for rendering 360-degreevideos, according to embodiments of the present disclosure;

FIG. 2 illustrates an exemplary method for rendering 360-degree videos,according to an embodiment of the present disclosure;

FIG. 3 illustrates an exemplary method for rendering 360-degree videos,according to an embodiment of the present disclosure;

FIG. 4 illustrates an exemplary method for rendering 360-degree videos,according to an embodiment of the present disclosure;

FIG. 5 illustrates an exemplary method for rendering 360-degree videos,according to an embodiment of the present disclosure;

FIGS. 6A-6G illustrate video frames of a 360-degree video according toan embodiment of the present disclosure;

FIG. 7 illustrates a plurality of view modes and correspondingnotations, according to an embodiment of the present disclosure;

FIG. 8 illustrates a use case in accordance with an embodiment of thepresent disclosure;

FIG. 9 illustrates a use case in accordance with an embodiment of thepresent disclosure;

FIG. 10 illustrates a use case in accordance with an embodiment of thepresent disclosure;

FIG. 11 illustrates a use case in accordance with an embodiment of thepresent disclosure;

FIG. 12 illustrates a use case in accordance with an embodiment of thepresent disclosure;

FIG. 13 illustrates a graphical user interface (GUI) of a seek baraccording to an embodiment of the present disclosure;

FIG. 14 illustrates a drop-down menu according to an embodiment of thepresent disclosure;

FIG. 15 illustrates a use case in accordance with an embodiment of thepresent disclosure;

FIG. 16 illustrates user activity of a user for playing a 360-degreevideo in accordance with an embodiment of the present disclosure; and

FIG. 17 illustrates a use case in accordance with an embodiment of thepresent disclosure;

FIG. 18 illustrates a use case in accordance with an embodiment of thepresent disclosure; and

FIG. 19 illustrates a use case in accordance with an embodiment of thepresent disclosure.

Further, skilled artisans will appreciate that elements in the drawingsare illustrated for simplicity and may not have been necessarily beendrawn to scale. For example, the flow charts illustrate the method interms of the most prominent steps involved to help to improveunderstanding of aspects of the present invention. Furthermore, in termsof the construction of the device, one or more components of the devicemay have been represented in the drawings by conventional symbols, andthe drawings may show only those specific details that are pertinent tounderstanding the embodiments of the present invention so as not toobscure the drawings with details that will be readily apparent to thoseof ordinary skill in the art having benefit of the description herein.

DETAILED DESCRIPTION

For the purpose of promoting an understanding of the principles of theinvention, reference will now be made to the embodiments illustrated inthe drawings and specific language will be used to describe the same. Itwill nevertheless be understood that no limitation of the scope of theinvention is thereby intended, such alterations and furthermodifications in the illustrated system, and such further applicationsof the principles of the invention as illustrated therein beingcontemplated as would normally occur to one skilled in the art to whichthe invention relates.

It will be understood by those skilled in the art that the foregoinggeneral description and the following detailed description areexplanatory of the invention and are not intended to be restrictivethereof.

Reference throughout this specification to “an aspect”, “another aspect”or similar language means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment of the present invention. Thus, appearancesof the phrase “in an embodiment”, “in another embodiment” and similarlanguage throughout this specification may, but do not necessarily, allrefer to the same embodiment.

The terms “comprises”, “comprising”, or any other variations thereof,are intended to cover a non-exclusive inclusion, such that a process ormethod that comprises a list of steps does not include only those stepsbut may include other steps not expressly listed or inherent to suchprocess or method. Similarly, one or more devices or sub-systems orelements or structures or components proceeded by “comprises . . . a”does not, without more constraints, preclude the existence of otherdevices or other sub-systems or other elements or other structures orother components or additional devices or additional sub-systems oradditional elements or additional structures or additional components.

Unless otherwise defined, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skilledin the art to which this invention belongs. The system, methods, andexamples provided herein are illustrative only and not intended to belimiting.

The present subject matter describes systems and methods for playing360-degree videos. According to aspects of the present subject matter,when a user watches a 360-degree video, one or more viewing angles inwhich the user has watched the 360-degree video are recorded. Therecorded viewing angles are subsequently used to provide multipleoptions to the user for viewing the 360-degree video. In an example, theviewing angles are recorded as per three-axis coordinate system. Thatis, an angle along each of the x-axis, y-axis, and z-axis is recorded.

By way of example, suppose a user A starts watching a ten-minute long360-degree video, hereinafter referred to as video A in said example, ina default view mode, i.e., as per a default viewing angle of the videoA. Now, while watching the video A, at 2nd minute the user A may changehis viewing angle. By virtue of change in the viewing angle, the viewingangle changes from default to +127-degree, +111 degree, +281 degree. Atthis time instant, the view angle change is recorded. Recording of theview angle change includes recording the current viewing angle and atime at which the user A switches to the current viewing angle. Thus, itis recorded that at time instant 2 minute, the viewing angle of the userA is +127-degree, +111 degree, +281 degree. Now, suppose the user Acontinues to watch the movie with viewing angle +127-degree, +111degree, +281 degree until 5th minute. At 5th minute, the user A againchanges his viewing angle. By virtue of change in the viewing angle, theviewing angle changes from +127-degree, +111 degree, +281 degree to−160-degree, −57 degree, −121 degree. At this instant, it is recordedthat the current viewing angle is −160-degree, −57 degree, −121 degreeand the time of view angle change is the 5th minute. Thereafter, theuser A continues to watch the video A until the end with the viewingangle −160-degree, −57 degree, −121 degree.

In an example, besides recording the viewing angles in which the user Ahas watched the video A, metadata associated with the video A may alsobe recorded. In an example, the metadata includes a date of viewing ofthe video A, a session identity (ID) related to the viewing of the videoA, and a type of a view mode in which the user A has watched the videoA. As may be understood, other information may also be included in themetadata. An example database 1, illustrating the recording of theviewing angles and the metadata is reproduced below.

Example Database 1

Video A Viewing Angle Metadata of User A Session View Time (x-y-zcoordinates) Date ID Mode  0:00 0 degree, 0 degree, Oct. 2, 2017 S1Default 0 degree mode  2:00 +127-degree, +111 degree, Oct. 2, 2017 S1User seek +281 degree mode  5:00 −160-degree, −57 degree, Oct. 2, 2017S1 User seek −121 degree mode 10:00 −160-degree, −57 degree, Oct. 2,2017 S1 User Seek −121 degree mode

As shown in the above example database 1, the user A watches thecomplete video A in a single session S1. Further, the user A watches thevideo A in a default mode from start until 2nd minute. Thereafter, theuser A watches the video A in user seek mode until the end of the video.The different view modes are described below.

According to aspects of the present subject matter, the view mode may beunderstood as a mode of viewing the 360-degree video. In an example, theview mode may be a default view mode. The default view mode may beunderstood as a view mode in which a 360-degree video is played as per adefault viewing angle in which the 360-degree was recorded. That is, theuser does not change the viewing angle throughout the playing of thevideo.

In another example, the view mode may be a user-replay view mode. Theuser-replay view mode may be understood as a view mode where the360-degree video is played in a manner identical to a manner in whichthe 360-video was previously viewed by the user. As an example, during afirst viewing of a 360-degree video, which is, say, five minutes long,the user may perform various actions in respect of the 360-degree video.For instance, the user may seek the 360-degree video to 3 minutes after15 seconds of viewing the 360-degree video. Further, from the 3rdminute, the user may watch the 360-degree video until 3 minutes and 25seconds and, may again seek to 2nd minute of the 360-video. From the 2ndminute, the user may watch the 360-video until the end. Now, in future,when the user selects to view the 360-degree video in the user-replayview mode, the 360-degree video will be played in a manner as describedabove.

In yet another example, the view mode may be a user seek mode. The userseek mode may be understood as a view mode where the 360-degree video isplayed based on the recorded angle corresponding to the user's viewingof the 360-degree video. In an example, the recorded angle maycorrespond to a current viewing of the 360-degree video. In anotherexample, the recorded angle may correspond to a previous viewing of the360-degree video by the user.

In yet another example, the view mode may be a different user seek mode.The different user seek mode may be understood as a view mode where the360-degree video is played based on recorded viewing anglescorresponding to a further user. In other examples, as will be describedlater, the user may choose to view the 360-degree video as per any of atrending view mode, a most viewed mode, and an interest-based view mode.

According to further aspects of the present subject matter, multipleoptions of viewing a 360-degree video are presented to the user using aseek icon of a media player through which the user is viewing the video.Using the seek icon, the user may select any of the available view modesfor watching the 360-degree video as per the selected view mode.Providing of multiple options using the seek icon enhances the userexperience of watching the 360-degree video. For instance, the user caneasily change between different available view modes using a singleclick on the seek icon.

According to further aspects of the present subject matter, a video seekevent (interchangeably referred to as seek event) to a seek point of the360-degree video may be detected. In an example, the selection of theview mode occurs prior to the video seek event. That is, the user atfirst selects the view mode and then seeks to a seek point. In anotherexample, the selection of the view mode occurs after the video seekevent. That is, the user at first performs the seek to the seek pointand then multiple options related to available view modes are providedto the user. Based on at least one of the recorded viewing angle andview mode, the 360-degree video is played from the seek point.

According to an aspect of the present subject matter, the user A mayagain watch the video A. Now, when the user watches the video A, theuser A may be presented with multiple options of viewing the video A.For instance, the user A may start playing the video A and maystraightaway seek to a seek point corresponding to time 2:30 minute.Now, example database 1 is queried to ascertain whether any view modesare available corresponding to the aforementioned time. Based on theascertaining, it is learnt that user seek mode corresponding to the userA's previous viewing session (s1) is available. Now, after the userseeks to the aforementioned time, an option may be provided to the userA for viewing the video A either in the default view mode or as per theuser seek mode. In a case if the user A selects the option to view thevideo A as per the user seek mode, viewing angle corresponding to the2:30 minute is fetched based on the example database 1. As can be seenfrom the example database 1, the viewing angle corresponding to theaforementioned time is +127-degree, +111 degree, +281 degree. Thus, theuser A is viewing angle is changed to +127-degree, +111 degree, +281degree and the video is played as per the aforementioned viewing angle.

According to further aspects of the present subject matter, multipleoptions of viewing the 360-degree may be provided to the user on a seekbar of the media player through which the user is watching the360-degree video. By way of example, different colors corresponding todifferent view modes may be provided on the seek bar. In anotherexample, a profile picture or a thumbnail corresponding to the differentmodes may be presented to the user. Accordingly, the user may select aview mode from the available view modes. Providing the available viewmodes on the seek bar enhances the user experience with respect toviewing of the 360-degree video. For instance, the user may easily viewthe multiple viewing options available with respect to the 360-degreevideo. Subsequently, the user may easily select any of the availableview modes.

As may be gathered, recording of the viewing angles provides the userwith various options for playing the 360-degree video. For instance, auser may choose to view the video in the user-replay view mode or maychoose to view the video based on a different user seek mode, or inother view modes as described above. Further concepts and advantages ofthe present subject matter are described below.

Embodiments of the present invention are described below in detail withreference to the accompanying drawings.

FIG. 1A illustrates a computing device 100 implementing a system 102 forrendering 360-degree videos to users, according to embodiments of thepresent disclosure. Examples of the computing device 100 may include,but are not limited to, a laptop, a smartphone, a desktop computer, aworkstation computer, a virtual reality (VR) headset, and the like.

In an example, a user may watch 360-degree videos using a media playerprovided on the computing device 100. In an example, the media playermay be provided as a standalone application. In another example, themedia player may be in an embedded form in a browser application of thecomputing device 100. Further, the 360-degree videos may be stored onthe computing device 100, in an example. In another example, thecomputing device 100 may receive a video feed of the 360-degree videosfrom a server of a video service provider.

In an example, the computing device 100 may include the system 102, aprocessor 104, I/O interfaces 106, a camera 108 (optional), a microphone110 (optional), and a storage unit 112.

The system 102 includes a rendering unit 114, a recording unit 116, anda detection unit 118. The processor 104, the rendering unit 114, therecording unit 116, and the detection unit 118 may be implemented as,signal processor(s), state machine(s), logic circuitries, and/or anyother device or component that manipulate signals based on operationalinstructions. Further, the processor 104, the rendering unit 114, therecording unit 116, and the detection unit 118 can be implemented inhardware, instructions executed by a processing unit, or by acombination thereof. The processing unit can comprise a computer, aprocessor, a state machine, a logic array or any other suitable devicescapable of processing instructions. The processing unit can be ageneral-purpose processor, which executes instructions that cause thegeneral-purpose processor to perform required tasks, or, the processingunit can be dedicated to perform the required functions. In anotherexample, the processor 104, the rendering unit 114, the recording unit116, and the detection unit 118 may be machine-readable instructions(software) which, when executed by a processor/processing unit, performany of the described functionalities.

The I/O interfaces 106 may include a variety of software and hardwareinterfaces, for example, interfaces for peripheral device(s), such as awired headset device, a wireless headset device, a keyboard, a mouse, adisplay unit, an external memory, and a printer. The I/O interfaces 106can facilitate multiple communications within a wide variety of networksand protocol types, including wired networks and wireless networks. Forthe purpose, the I/O interfaces 106 include one or more ports forconnecting to the peripheral device(s). The camera 108 and themicrophone 110 are adapted to receive user inputs, such as user gesturesand voice commands, respectively.

The data storage unit 112 may be a repository/storage medium/data store,for storing data processed, received, and generated by one or more ofthe processor 104, the rendering unit 114, the recording unit 116, andthe detection unit 118. Further, the data storage unit 112 may be usedfor storing the 360-degree videos (received from the server of the videoservice provider, in an example).

As mentioned above, the user may watch 360-degree videos using thecomputing device 100. To that end, the computing device 100 may receivea selection of a 360-degree video from the user. In an example, theselection of the 360-degree video may be received using a user inputthat may be one of a voice command, a user gesture, or a selectionthrough a peripheral device, such as a mouse or a keyboard. As may beunderstood, the voice command may be received using the microphone 110,the user gesture may be received using the camera 108, and the inputfrom the peripheral devices may be received using the I/O interfaces106.

In an example, on receiving the selection, the rendering unit 114 playsthe 360-degree video. In an example, the rendering unit 114 startsplaying the 360-degree video from a default viewing angle. In anotherexample, where the user was previously watching the 360-degree video andhad paused the same, the rendering unit 114 starts playing the360-degree video from a last viewing angle in which the user waswatching the 360-degree video. As may be understood, while watching the360-degree video, the user may change his/her viewing angle multipletimes to view the 360-degree video from different directions.Accordingly, in an example, the recording unit 116 records one or moreviewing angles corresponding to the user's viewing of the 360-degreevideo. For instance, for a five-minute 360-degree video, the user maychange viewing angles at 1 minute, 3 minute, and 4 minute. Accordingly,the recording unit 116 records the viewing angle and the time instancesat which the viewing angles are changed. In another example, therecording unit 116 may record the viewing angle of the user atpredefined times, for example, at the start of the 360-degree video, atthe end of the 360-degree video, and after fixed time intervals. Therecorded viewing angles, in an example, include information related toviewing angles of the user with respect to three-axis (x-y-z) coordinatesystem. In an example, the recorded viewing angles are stored in thedata storage unit 112.

In an example, the recording unit 116 associates the recorded viewingangles with different view modes, as applicable, in which the 360-degreevideo may be rendered. For instance, the recorded viewing angles may beassociated with a default view mode. In the default view mode, the userdoes not change his/her viewing angle while watching the 360-degreevideo and the 360-degree video plays as per predefined viewing angles.In such a case, the recorded viewing angles include the predefinedviewing angles.

In another example, the recorded viewing angles may be associated with auser-replay view mode. In said view mode, besides the recorded viewingangles, user activity in respect of the 360-degree video is alsorecorded. For instance, seek actions, replay actions, zoom activity, andthe like, performed by the user in respect of the 360-degree video isrecorded. When the user seeks to play the 360-degree video in this mode,the 360-degree video is played in a manner identical to a manner inwhich the user had watched the 360-degree video previously. That is,while watching the 360-degree video in the user-replay view mode, theuser activity as performed during a previous viewing session isrepeated. In an example, a timestamp (including time and date) is alsoassociated with the user-replay view mode. Thus, in cases where the userhas watched the 360-degree video plurality of times previously, anoption may be provided to the user for viewing the 360-degree videos ina manner as per any of the previous instances.

In another example, the recorded viewing angles may be associated with auser seek mode. The user seek mode is a view mode corresponding to theuser's viewing of the 360-degree video. The user seek mode includes onlythe recorded viewing angles and does not include the user activity ofthe user. In an example, the user seek mode may correspond to a currentviewing session of the viewer. Thus, in instances where the user mayaccidentally change the viewing angle, the user may use the user seekmode for resetting the viewing angle. In another example, the user seekmode may correspond to a previous viewing session of the user. Thus, theuser may use the user seek mode to watch the 360-degree video as per aprevious viewing session. In an example, a timestamp (including time anddate) is also associated with the user seek mode. Thus, in cases wherethe user has watched the 360-degree video plurality of times previously,an option may be provided to the user for viewing the 360-degree videosin a manner as per any of the previous instances.

In yet another example, the recorded viewing angles may be associatedwith a different user seek mode. The different user seek mode may beunderstood as a view mode where the 360-degree video is played as per aviewing session of a further user. Consider an example where a user Ahas watched the 360-degree video. As mentioned above, the recording unit116 records the viewing angles corresponding to a user's viewing of a360-degree video. Thus, viewing angles for the user A is recorded. Now,if a user B happens to watch the 360-degree video, the user B may beprovided with an option to view the 360-degree video as per the recordedviewing angles of the user A. Such a view mode is referred to as“different user seek mode”.

In yet another example, the recorded viewing angles may be associatedwith an interest-based view mode. The interest-based view mode may beunderstood as a view mode where the 360-degree video is played as perthe user's interest. In said example, based on the user's viewingactivity with respect to one or more 360-degree videos, user interestsor habits are learnt. For instance, it may be learnt that the user likesto watch monuments. Accordingly, when the user starts to watch a360-degree video in the interest based video mode, a viewing angle ofthe user may be changed towards monuments, if present in the video frameof the 360-degree video. In another example, if a user A has selectedhis interest as “Animal” and has watched a 360-degree video withdifferent direction, then as mentioned above, the recording unit 106records the viewing angles corresponding to the user A's viewing of the360-degree video. Now if a user B happens to watch the same 360 degreewhich has been already seen by user A, and if user B has same interestlike “Animal”, then an option may be provided to the user B to view the360-degree video as per the recorded viewing angles of the user A.

In yet another example, the recorded viewing angles may be associatedwith a most viewed mode. The most viewed mode may be understood as aview mode in which a 360-degree video has been viewed a maximum numberof times. The most viewed mode may be determined based on the recordedviewing angles associated with one or more users. Consider an example ofa video service provider providing 360-degree videos. In said example,the video service provider may collect information related to therecording viewing angles of different users for a given 360-degreevideo. Accordingly, when a user, say user A, seeks to watch the360-degree video, the user may be provided with an option of viewing the360-degree video as per the most viewed mode. In a similar manner, inanother example, the recorded viewing angles may be associated with atrending view mode. The trending view mode may be understood as a viewmode in which the 360-degree video has been watched the maximum numberof times in a given time period. As an example, for a given 360-degreevideo, the video service provider may determine the trending view modebased on the recorded viewing angles as recorded for a period of onemonth. In an example, the trending view mode may be different from themost viewed mode. In another example, the trending view mode may be sameas the most view mode.

As may be understood, the view modes become available to the user as andwhen corresponding viewing angles are recorded. For instance, thedifferent user seek mode becomes available when a further user haswatched the 360-degree video. Similarly, the user-replay view modebecomes available after the user has watched the 360-degree video once.Thus, in accordance with the present subject matter, multiple options ofviewing the 360-degree video as per different view modes are provided tothe user.

In an example, besides recording the viewing angles, the recording unit116 also records metadata associated with the 360-degree video that theuser is watching. In an example, the metadata includes a date of viewingthe 360-degree video. Based on the recorded dates, viewing options forviewing the 360-degree video are provided to the user along with timereferences. For instance, the user may have watched the video in theuser seek mode multiple times, say, two days ago, four days ago, twoweeks ago. Thus, while providing the user seek mode options to the user,aforementioned time references are also provided to the user. Thus, theuser may select the user seek mode corresponding to any of theaforementioned time references.

The metadata may further include, a session ID associated with viewingof the 360-degree video. The session ID is indicative of a session inwhich the user has watched the 360-degree video. For instance, considera case where the user watches a portion of the 360-degree video during afirst viewing session, say, in the morning. Now, the user goes to officeand comes back in the evening. The user may now decide to watch the360-degree video. Now, when the user decides to watch the 360-degreevideo, it is recorded that the user is watching the 360-degree video ina second viewing session. In an example, besides the session ID, a timeof viewing the 360-degree video may also be recorded.

The metadata may further include a type of the view mode in which theuser is watching the 360-degree video. Accordingly, during subsequentplaying of the 360-degree video, viewing options are provided to theuser. Further, recording of the type of view mode enables providing anoption to a different user to view the 360-degree video as per the viewmode of the user. For instance, a user A watches the video in user seekmode and different viewing angle changes corresponding to the user A'swatching of the 360-degree video are recorded. Now, when a user Bdecides to watch the 360-degree video, the user B is provided options toview the 360-degree video as per the view modes of the user A. Thus, asdescribed, the metadata facilitates in providing different view modes tothe user.

The metadata further includes user preferences learnt over time by thesystem 100. For instance, suppose a user A often watches action themebased 360-degree videos. In particular, in such 360-degree videos, theuser repeatedly watches car chase scenes. Thus, by implementing machinelearning algorithms, the system 100 learns that the user A is interestedin action 360-degree videos and likes car chase scenes. Accordingly, infuture, the system 100 is able to provide recommendations andnotifications to the user A for watching such 360-degree videos.

In an example, the recording unit 116 stores the metadata in the datastorage unit 112.

According to further aspects, multiple viewing options, i.e., theavailable view modes for viewing the 360-degree video are provided tothe user on a seek icon or a seek bar of a media player through whichthe user is watching the 360-degree video based on the recorded metadata(explained later). By way of example, suppose a user A decides to watcha 360-degree video. Now, when the user starts playing the 360-degreevideo, the rendering unit 114 obtains the metadata from the data storageunit 112. Based on the metadata, the rendering unit 114 provides theuser with multiple options of viewing the 360-degree video. Forinstance, based on the metadata associated with the video, the renderingunit 114 may determine that a different user seek mode, a most viewedmode, and a trending mode, is available. Accordingly, the rendering unit114 may provide options to select the available view modes on at leastone of the seek icon and the seek bar.

In an example, based on the metadata, the rendering unit 114 providesinformation pertaining to one or more available view modes for playingthe 360-degree video to the user. The information provided may include acolor corresponding to the view mode. For instance, when playing the360-degree video, if the user seek mode is available for a portion ofthe 360-degree video, the rendering unit 114 may highlight that portionof the 360-degree video using a first color. For another portion, if thedifferent user seek mode is available, the rendering unit 114 mayhighlight that portion using a second color. Furthermore, for a portionof the 360-degree video where different user seek mode is available formultiple users or where most viewed mode is available or trending modeis available, the rendering unit 114 may highlight the portion using athird color. The information may further include icons or thumbnails fordifferent view modes. Also, in addition to the icons or thumbnails, apicture of the user or the different user may be provided to the user.In an example, the picture may be fetched from a social profile or alocal registered profile of the user. In said example, a communicationunit 120 of the computing device 100 may communicate with one or moresocial media databases 122-1 to 122-N for obtaining the picture of theuser. Further, the information may include a name of the user or a nameof the different user.

Furthermore, the information may include a timestamp associated with theview mode. For instance, the system 100 may have two instances of userseek mode available for providing to the user. In said case, therendering unit 114 provides a timestamp along with the user seek mode tothe user. Thus, the user may decide based on the timestamp, a particularuser seek mode which he wants to view.

Further, the information may include viewing angle informationassociated with the user's viewing of the 360-degree video. Forinstance, for a user a, b, and c, information as to their correspondingviewing angle with respect to the viewing of the 360-degree video isavailable for providing to the user. Thus, when a user points a mousepointer to a particular time frame on the seek bar where multiple usershave viewed the 360-degree video, information related to theircorresponding viewing angles may be displayed. Furthermore, in anexample, the information may include notifications related to the360-degree video. The notifications, in an example, may include one ormore tags saved by the user during viewing of the 360-degree video. Inan example, at least a portion of the aforementioned may serve asindicators. For instance, the color, the icon(s), the thumbnail(s), andthe picture(s) may serve as indicators.

In an example, the rendering unit 114 may receive a user request togenerate an analysis report for the 360-degree video. In an example, theuser request is received as a user input that may be one of a voicecommand, a user gesture, or a selection through a peripheral device,such as a mouse or a keyboard. As may be understood, the voice commandmay be received using the microphone 110, the user gesture may bereceived using the camera 108, and the input from the peripheral devicesmay be received using the I/O interfaces 106. On receiving the userrequest, the rendering unit 114 performs analytics based on theaforementioned information and provides the user with the analysisreport. The analysis report may include at least a portion of theaforementioned information. As an example, the analysis report mayinclude names of different users, their corresponding recorded viewingangles, their tags, their interests, most viewed portions, trendingportions, and the like.

The aforementioned description describes how the system 100 makes use ofthe recorded viewing angles and information related to the view modes.The following description describes manner in which the information isprovided to the user.

In an example, the rendering unit 114 provides the informationpertaining to the one or more available view modes to the user when theuser selects the 360-degree video for viewing. For instance, ifdifferent view modes are available for the 360-degree video, therendering unit 114 provides the information related to the same to theuser.

In an example, the rendering unit 114 may provide the information on theseek icon. In an example, the rendering unit 114 provides anicon/thumbnail/picture associated with the current view mode on the seekicon. In said example, when the user hovers the mouse over the seek iconor selects the seek icon, information associated with other view modesavailable at that seek mode is provided to the user, for instance, as adrop-down menu.

In another example, the rendering unit 114 provides the information on aseek bar of a media player through which the user is to view the360-degree video. For instance, the rendering unit 114 may showdifferent colors corresponding to different view modes on the seek bar.Furthermore, in said example, when the user hovers the mouse pointerover a portion of the seek bar, the rendering unit 114 may show furtherinformation associated with the view mode(s) for that portion. Forinstance, for a portion corresponding to user seek mode, when the userhovers the mouse over the portion, the rendering unit 114 may display aname of the user, a picture of the user, viewing angle informationassociated with the user's viewing of the 360-degree video and the like.

In yet another example, the rendering unit 114 provides the informationthrough a menu of the media player. For instance, the rendering unit 114may provide the available view modes, names of the users correspondingto the view modes, and the like, through the menu.

On viewing the information provided, in an example, the user may seek toselect a view mode. Accordingly, in an example, the detection unit 118receives a user input indicative of a selection of the view mode fromthe one or more available view modes. In an example, the user input maybe one of a voice command, a user gesture, or a selection through aperipheral device, such as a mouse or a keyboard. As may be understood,the voice command may be received using the microphone 110, the usergesture may be received using the camera 108, and the input from theperipheral devices may be received using the I/O interfaces 106. Theuser input thus received, is received by the detection unit 118. Inanother example, the user input may be indicative of commands orinstructions to change settings of the media player or view otheroptions related to the 360-degree video. An example table 1,illustrating various user input types and corresponding actions isprovided below.

Example Table 1

User Input Action Single Click Switch to DEFAULT view Double ClickDisplay view selection option Long Press Visual representation of allthe previous views of current user on the video seek bar Voice Command -“Display View” Display view selection option Voice Command - “SwitchDefault” Switch to DEFAULT view Voice Command - “History” Visualrepresentation of all the previous views of current user, on the videoseek bar User Gesture - “thumbs up” Switch to DEFAULT view UserGesture - “thumbs down” Display view selection option Remote key press“abc” Open user configurations settings Remote keypress “xyz” Open viewfilter option

In an example, the detection unit 118 receives the selection of the viewmode through the seek icon. For instance, the user may click on the seekicon and subsequently select a view mode. In another example, the usermay hover the mouse over the seek icon and a drop-down menu includingthe available view modes is provided to the user. Accordingly, the usermay select the view mode. In aforementioned examples, the selection ofthe view mode is received as a user input by the I/O interfaces 106.Subsequently, the detection unit 118 receives the selection of the viewmode. In yet another example, the user may receive a toggling command onthe seek icon. Based on the toggling command, the view mode is switchedto one of a next available view mode or a previous view mode.

In an example, at the point of toggling, the rendering unit 114 providesinformation associated with at least two viewing options, that is, twoview modes, for example, in the form of a graph.

In another example, the detection unit 118 receives the selection of theview mode through the menu option. For instance, the user may select amenu option. On selection, the user may be provided with informationpertaining to the available view modes. Accordingly, the user may selectthe view mode from the menu.

In yet another example, the detection unit 118 receives the selectionthrough the seek bar. For instance, the user may hover the mouse overthe seek bar and may be presented with a drop-down menu including theavailable view modes. Accordingly, the user may select the view mode.Further, as described above, the detection unit 118 may receive theselection through user gestures or voice command as well.

The aforementioned description describes examples as to how the user mayselect the view mode for viewing the 360-degree video. In the exampleselections described above, the user input received for selection may beone of a voice command, a user gesture, or a user action, such as amouse click or a keyboard input. Accordingly, based on the user input,the user input is received through one of the I/O interfaces 106, thecamera 108, and the microphone 110.

In an example, the detection unit 118 may detect a video seek event to aseek point of the 360-degree video. For instance, the user may provide amouse click on the seek bar for seeking to the seek point. The mouseclick, in an example, is received by the I/O interfaces 106. In anexample, the seek event may be a forward seek event, where the userseeks to a seek point ahead than a current seek point. In anotherexample, the video seek event may be a backward seek event, where theuser seeks to a seek point within a played time portion of the360-degree video.

In an example, the detection unit 118 may receive the selection of theview mode before the video seek event. In said example, the user atfirsts selects the view mode in which the user seeks to watch the360-degree video. Post selection of the view mode, the user performs theseek activity. In a case where the user seeks to a seek point where noinformation associated with the view mode is available, the renderingunit 114 plays the 360-degree from the seek point in the default viewmode.

In another example, the detection unit 118 may receive the selection ofthe view mode after the video seek event. In said example, the userperforms the seek activity to the seek point. Subsequently, therendering unit 114 provides the information pertaining to the availableview modes at the seek point to the user. Thereafter, the user selectsthe view mode from the available view modes for viewing the 360-degreevideo.

As may be gathered, in an example, the user may perform both, theseeking activity and the view mode selection using the seek icon. Insuch a case, the detection unit 118 determines a user action on the seekicon as view mode selection if a current point of the seek icon and theseek point are within a predetermined threshold distance. Fordetermining whether the current point of the seek icon is within thepredetermined threshold distance of the seek point, the detection unit118 makes use of position information. The position information may beunderstood as information indicative of coordinates of the user actionon the seek icon. In an example, the position information is recorded byone of the I/O interfaces 106, the camera 108, and the microphone 110when the user input or user selection is received. For instance, in acase where the user gives a voice command, the microphone 110, alongwith the processor 104, may record the position which the user isseeking. Similarly, the camera records the position information alongwith the processor 104. In an example, the position information isstored in the data storage unit 112.

In another case, the detection unit 118 determines the user action onthe seek icon as a video seek event if the current point of the seekicon and the seek point are above a predetermined threshold distance. Asmentioned above, the detection unit 118 makes the determination based onthe position information recorded by one of the I/O interfaces 106, thecamera 108, and the microphone 110. Thus, seeking activity and view modeselection are detected with accuracy.

In an example, the user may watch the 360-degree video without any seekactivity and, may only change the view modes one or more times. In sucha case, the user input received from the user may be referred to as aview-mode switch user input. Based on the view-mode switch user input,the rendering unit 114 switches a current view mode to a further viewmode as selected by the user.

Thus, as described above, recording of the viewing angles and themetadata facilitates in providing multiple options of viewing the360-degree to the user. Further, a manner in which the options areprovided to the user, i.e., through the seek icon and the seek barfacilitates selection of different available view modes. For instance,as described above, the user may toggle between the different availableview modes through a single action. As a result, overall user experienceof viewing the 360-degree video is enhanced, as the user is easily ableto select different view modes for viewing the 360-degree video.

Described below is an example use case where a user A watches a360-degree video (3-minute long), hereinafter referred to as video ABCin said use case, and how the video ABC is rendered to the user by thesystem 100. In said use case, metadata associated with the video ABC isstored in the data storage unit 112 in an example database 2 (reproducedbelow).

For rendering the video ABC, the rendering unit 114 accesses themetadata associated with the video ABC stored in the example database 2.Based on the metadata, the rendering unit 114 ascertains the availableview modes in which the user A may watch the video ABC. As per themetadata, the rendering unit 114 ascertains that default video mode,user-replay view mode, different user seek mode, user seek mode for adifferent time instance, trending view mode, and most viewed view modeare available for different time references of the video ABC. Further,the rendering unit 114 obtains the tags for the video ABC and learnsabout the user preferences, based on the metadata.

After analyzing the metadata, the rendering unit 114 begins renderingthe video ABC to the user A. In an example, the user starts watching thevideo ABC as per the default view. While watching the video, the user Achanges his view at 40 seconds. Thereafter, the user A changes his viewat 1 minute 15 seconds, 1 minute 28 seconds, and at 2 minute 42 seconds,2 minute 47 seconds. Thereafter, the user A continues to watch the videoABC until the end as per the viewing angle corresponding to time 2minute 47 seconds. The change in the viewing angles is recorded by therecording unit 116 and is stored in the example database 2.

Example Database 2

Video ABC Viewing Angle of User Metadata A (x- Available y-z SessionView view Tags User Time coordinates) Date Time ID Mode modes Availablepreferences 0:40  +27 degree, Feb. 10, 2017  9:03 S1 Default Default NOAction  +52 degree, AM mode mode, most movies, car  +92 degree viewedchase mode scenes, 1:15  −42 degree, Feb. 10, 2017 10:29 S1 UserDifferent NO Animals, −117 degree, AM seek user seek Animated −212degree mode mode, most movies viewed mode 1:28 +130 degree, Feb. 10,2017, 11:17 S1, S2 Different Different YES  +57 degree, Feb. 12, 2017AM, user user seek +127 degree 14:52 seek mode, most PM mode, viewedUser mode, seek trending mode view mode 2:42 +116 degree, Feb. 10, 2017,15:03 S1, S3 User User seek NO +192 degree, Feb. 14, 2017 PM, Seek mode, +72 degree 17:40 mode Different PM user seek mode, most viewed mode2:47  −45 degree, Feb. 10, 2017, 18:01 S1, S2 User Different YES −112degree, Feb. 12, 2017 PM, seek user seek −209 degree 17:03 mode mode,most PM viewed mode, trending view mode 3:00  −45 degree, Feb. 10, 201721:09 S1 User Different YES −112 degree, PM seek user seek −209 degreemode mode, most viewed mode, user replay mode, user seek mode

As can be seen from the example database 2, for each instance of viewingangle change, the recording unit 116 records the viewing angle of theuser and a time at which the viewing angle is changed. Further, therecording unit 116 also records the viewing angle at the end of thevideo ABC. In an example, without limitation, the recording unit 116records the viewing angle as per three-axis coordinate system.

During rendering of the video, the rendering unit 114 rendersinformation based on the metadata to the user A. For instance, for eachtime reference for which different view modes are available, therendering unit 114 provides the user A with options to select anavailable view mode. In an example, the rendering unit 114 renders theavailable view mode on a seek icon of a media player through which theuser A is watching the video ABC. In an example, the rendering unit 114may simultaneously provide the available view modes on a seek bar of themedia player. In an example, the available view modes are provided asdifferent color shades on the seek bar. In another example, apicture/thumbnail corresponding to each of the available view modes isprovided to the user in a region of the media player near to the seekbar. In an example, both, different colors, and pictures/thumbnails areprovided to the user on the seek bar.

On learning about the availability of different view modes, in anexample, the user A may select a view mode from the available viewmodes. In an example, the user A may select the view mode using a mouse.For instance, the user A may hover the mouse over the seek icon. As aresult, a drop down menu appears. The drop down menu includes a list ofavailable view modes, in an example.

In another example, the user A may provide a voice command for selectingthe view mode. On receiving the voice command, the system 100 displays alist of the available view modes to the user A. Subsequently, the user Amay provide a further voice command for selecting the view mode from theavailable view modes.

In another example, the user A may provide a user gesture for selectingthe view mode. For instance, the user A may perform a first predefineduser gesture. On receiving the user gesture, the system 100 displays thelist of available view modes. Subsequently, the user may perform afurther user gesture for selecting the view mode from the list ofavailable view modes.

On receiving the user selection of the available view mode, therendering unit 114 obtains the viewing angle corresponding to theselected view mode and renders the video ABC to the user A. Forinstance, in said use case, the user A may select to view the video ABCin the different user seek mode. Accordingly, the rendering unit 114obtains the viewing angle corresponding to the different user seek modeand renders the video ABC as per the viewing angle of the differentuser.

Thus, according to aspects of the present subject matter, viewing anglesas per which the user A watches the video ABC are recorded. Further,multiple viewing options available for viewing the video ABC areprovided to the user A.

As described in the foregoing description, the system 102 is implementedin the computing device 100. In another embodiment, the system 102 maybe implemented in the server of the video service provider of 360-degreevideos. Accordingly, one or more of the aforementioned modules/units ofthe system 102 are implemented in the server.

In the following paragraphs, non-limiting examples of the system 102implemented in a distributed manner are being explained.

FIG. 1B illustrates an implementation of the system 102 in accordancewith an embodiment of the present disclosure. As shown in the figure,the system 102 is implemented in a server 124 of a video serviceprovider of 360-degree videos. In said embodiment, a user may watch the360-degree videos using the computing device 100. For instance, usingthe computing device 100, the user may view a catalogue of the360-degree videos hosted by the server 124 in the video database 126.Accordingly, the user may select a 360-degree video through a user inputthat may be a voice command, a user gesture, or a user action providedthrough a mouse or a keyboard. The user input is communicated to theserver 124 by the communication unit 120. Based on the user selection ofthe movie, the server 124 starts a video feed to the computing device100. In an example, the communication unit 120 may receive the videofeed from the server 124.

In an example, the rendering unit 114 of the server 124 renders the360-degree video to the computing device 100. In said example, therendering unit 114 may, at first, access metadata related to the360-degree video stored in the data storage unit 112-2. Upon accessingthe metadata, the rendering unit 114 determines the available view modesin which the 360-degree video may be viewed. Accordingly, in an example,the rendering unit 114 provides the available view modes on at least oneof a seek icon and a seek bar of a media player using which the user iswatching the 360-degree video. As an example, when the user hovers themouse over the seek icon, the rendering unit 114 provides a drop downmenu listing the available view modes to the user. In another example,the rendering unit 114 provides the available view modes on the seek baras thumbnails or as different color bands.

Furthermore, in an example, the recording unit 116 records the viewingangles in which the user watches the 360-degree video. Along with theviewing angles, the recording unit 116 records the metadata associatedwith the video. For instance, the recording unit 116 may record timereferences at which the user changes his viewing angle. Further, therecording unit 116 may record the view modes in which the user watchesthe 360-degree video. The recorded viewing angles and the metadata arestored in the data storage unit 112-2.

In an example, when the user watches that multiple viewing options areavailable, the user may provide a user selection indicative of a viewmode in which the user wishes to watch the 360-degree video. In anexample, the detection unit 118 receives user selection of an availableview mode from the available view modes presented to the user.

Based on the received user selection, the rendering unit 114 renders the360-degree video in the selected view mode. In an example, the renderingunit 114 is to play the 360-degree video based on one of a recordedviewing angle and the view mode. On receiving the selection of the viewmode, the rendering unit 114 again accesses the metadata related to the360-degree video. Based on the metadata, the rendering unit 114determines the viewing angle corresponding to the selected view mode. Ondetermining the viewing angle corresponding to the selected view mode,the rendering unit 114 renders the 360-degree video as per thedetermined viewing angle.

In an example, the received video feed is provided to the user through adisplay unit 128. Further, the system may operate in a manner asdescribed above in FIG. 1A.

FIGS. 2 and 3 illustrate exemplary methods 200 and 300, according toembodiments of the present disclosure. The order in which the methods200 and 300 are described is not to be construed as a limitation, andany number of the described method blocks can be combined in any orderto implement the methods 200 and 300 or an alternative method.Additionally, individual blocks may be deleted from the methods 200 and300 without departing from the scope of the subject matter describedherein. Furthermore, the methods 200 and 300 can be implemented in anysuitable hardware, software, firmware, or combination thereof.

Referring to FIG. 2, at step 202, a 360-degree video is played. In anexample, a user may play the 360-degree video using a computing device,such as the computing device 100. Examples of the computing device mayinclude, but are not limited to, a tablet, a VR headset, a smartphone, adesktop computer, and the like. In an example, the rendering unit 114may play the 360-degree video.

At step 204, one or more viewing angles corresponding to a user'sviewing of the 360-degree video are recorded. In an example, the usermay change his viewing angles multiple times to watch the 360-degreevideo from different directions. The viewing angles are recorded andstored, for example, in a storage unit. The recorded viewing angles aresubsequently used for generating statistical analysis for the 360-degreevideo. Further, the recorded viewing angles may be associated with oneor more view modes, as described above. In an example, the recordingunit 116 records the viewing angles corresponding to the user's viewingof the 360-degree video.

In an example, while watching the 360-degree video, the user may selectany of one or more available view modes for watching the 360-degreevideo as per the selected view modes.

At step 206, a video seek event to a seek point of the 360-degree videois detected. The video seek event may be a forward seek event. Forinstance, the user may seek to a seek point farther than a currentplaying point. In another example, the seek event may be a backward seekevent. That is, the user may seek to a seek point within a played timeportion of the 360-degree video.

For performing the seek event, the user may provide a user input. In acase where the user input is within a predefined threshold, the userinput may be detected as an input for changing a view mode for playingthe 360-degree video. In another example where the user input is outsidethe predefined threshold, the user input may be detected as an input forseeking.

In an example, the selection of the view mode is received before theseek event. For instance, the user may first select a view mode and thenseek in the selected view mode. In another example, the selection of theview mode is received after the seek event. For instance, the user mayfirst perform the seek event and subsequently select a view mode afterseeking.

At step 208, the 360-degree video is played from the seek pointaccording to a viewing angle determined based on at least one of arecorded viewing angle and a view mode.

In an example, for playing the 360-degree video, metadata associatedwith the 360-degree is fetched. The metadata, in an example, includesinformation related to different users who have seen the video. Forinstance, the metadata may include viewing angles corresponding to theviewing of the 360-degree video by different users. Accordingly, themetadata also includes different view modes that are available forviewing the video.

Now, when the user selects a particular view mode for viewing the360-degree video, viewing angles corresponding to the selected view modeare obtained from the metadata. Thereafter, the 360-degree video isplayed based on the obtained viewing angles corresponding to theselected video.

Referring to FIG. 3, steps 302 is analogous to step 202, and isperformed in a manner as described above. At step 304, selection of aview mode from one or more available view modes using a seek icon and, avideo seek event to a seek point of the 360-degree video are detected.In an example, the user may provide a user input for selecting the viewmode from the available view modes using the seek icon. Examples of theuser input may include, a mouse input, a keyboard input, a voice commandinput, and a user gesture input. In another example, the video seekevent is detected. The seek event may be a forward seek event or abackward seek event, as described above.

In an example, the selection of the view mode may be performed prior tothe seek event. In another example, the selection of the view mode isperformed after the seek event.

At step 306, the 360-degree video from the seek point according to aviewing angle corresponding to the selected view mode. On detecting theselection of the view mode, recorded viewing angles corresponding to theview mode are obtained and the 360-degree video is played accordingly.

Referring to FIG. 4, at step 402, a 360-degree video is played. In anexample, a user may watch the 360-degree video using a computing device,such as a laptop, a desktop computer, a tablet, a VR headset, and thelike. In an example, the 360-degree video is stored in an internalstorage of the computing device. In another example, the 360-degreevideo is hosted by a server of a video service provider. In an example,the rendering unit 114 may play the 360-degree video.

At step 404, information pertaining to one or more available view modesfor playing the 360° video from a seek point is provided to the user. Inan example, the view modes may include a default view mode, a user seekmode, a different user seek mode, a most viewed mode, a trending viewmode, a user replay view mode, and an interest view mode.

In an example, the information may include a color band corresponding toa view mode. In another example, the information may include athumbnail/picture/icon corresponding to the view mode.

Further, in an example, the information may be provided through a seekicon of a media player using which the user is watching the 360-degreevideo. In said example, when the user hovers the mouse over the seekicon, a list of available view modes is presented to the user. Inanother example, the information is provided to the user using a seekbar of the media player. In said example, the color bands and/or thepicture/thumbnail/icon are provided on or in a region near to the seekbar. In yet another example, the information may be provided through amenu option of the media player. In an example, the rendering unit 114provides the information pertaining to the one or more available viewmodes.

At step 406, a user input indicative of a selection of the view modefrom the one or more available view modes is received from the user. Inan example, the detection unit 118 may receive the user input.

In an example, the user input is a voice command. For instance, amicrophone of the computing device may receive the voice command fromthe user. In another example, the user input is a user gesture. In saidexample, a camera of the computing device receives the user input fromthe user. In yet another example, the user input is a user actionperformed through a mouse or a keyboard. For instance, a toggle commandmay be received. In said example, the user input is received through I/Ointerfaces of the computing device.

In an example, the user selection is received before a video seek event.In said example, the user at firsts selects the view mode andsubsequently performs a seek action to a seek point on the seek bar. Inanother example, the user selection is received after a video seekevent. In said example, the user at first seeks to the seek point.Subsequently, the user selects the view mode from a list of availableview modes at the seek point.

Referring to FIG. 5, at step 502, a user action on a seek icon isreceived. In an example, the detection unit 118 receives the useraction. In an example, a user may watch a 360-degree video using acomputing device. The computing device plays the 360-degree video usinga media player. The media player may be a standalone application or maybe provided as in an embedded form in a browser application installed onthe computing device. While watching the video, the user may seek tochange a view mode of watching the 360-degree video or may wish to seekto a seek point on a seek bar of the media player. To that end, the usermay provide the user action on the seek icon.

In an example, the user action is received as a mouse input or akeyboard input, for example, using I/O interfaces of the computingdevice. In another example, the user action may be a voice command andis received using a microphone of the computing device. In said example,the computing device learns about the precise coordinates of the useraction based on the time reference mentioned in the voice command.

In yet another example, the user action may be a user gesture receivedthrough a camera of the computing device. In said example, the usergesture may correspond to the user action on the seek bar. For instance,the user may perform a tap action using his finger and said action maycorrespond to a click on/around the seek icon.

At step 504, a current point of the seek icon and a sought point arecompared. In an example, the detection unit 118 is to compare thecurrent point of the seek icon and the sought point. At step 506, theuser action is determined as one of a video seek event and a view modeselection based on the comparison. In an example, if a distance betweenthe current point and the seek point is less than the predeterminedthreshold, it is determined that the user action is related to the viewmode selection.

In another example, where it is determined that the distance between thecurrent point and the seek point is more than the predeterminedthreshold, it is determined that the user action is related to the videoseek event. In an example, the detection unit 118 is to determine theuser action as one of the video seek event and the view mode selection.

FIG. 6A illustrates a video frame 600-1 of a 360-degree video accordingto an embodiment of the present disclosure. In an example, a user maystart watching the 360-degree video as per a default view. An icon 602-1corresponding to the default view is also shown on a seek bar 604 in thefigure. Further, as shown in the figure, the user continues watching the360-degree video in the default view until 19th second of the 360-degreevideo.

FIG. 6B illustrates a video frame 600-2 of the 360-degree videoaccording to an embodiment of the present disclosure. In an example, theuser may change his/her viewing angle. In said example, when the userchanges the viewing angle, an icon 602-2 corresponding to a user view ofthe user is shown on the seek bar 604 in the video frame 600-2. As shownin the figure, the user continues to watch the video as per the userview at 1 minute and 28th second of the 360-degree video.

FIG. 6C a video frame 600-3 of the 360-degree video according to anembodiment of the present disclosure. As shown in the figure, the useris at 2 minutes 20th second of the 360-degree video and is watching the360-degree video as per the user view. Now, the user wants to do abackward seek. In an example, the user may do the backward seek to 1:28min of the 360-degree video in the user view mode. In said example, theuser simply points the mouse over to the 1:28 minute and clicks themouse. Accordingly, a video frame as shown in FIG. 6D is shown to theuser.

FIG. 6D illustrates a video frame 600-4 of the 360-degree videoaccording to an embodiment of the present disclosure. The video frame600-4 is identical to the video frame 600-2 and shows the 360-degreevideo as per the user view to the user.

In another example, the user may do the backward seek to 1:28 min of the360-degree video in the default view mode. In said example, the user atfirst provides a user input to switch to the default view. Thus, theview at 2:20 changes to the default view, as shown in figure E. FIG. 6Eillustrates a video frame 600-5 of the 360-degree video according to anembodiment of the present disclosure. The video frame 600-5 shows the2:20 min of the 360-degree video as per the default view.

After changing the view at 2:20 min to the default view, the user maynow seek to 1:28th minute of the video in the default view mode, asillustrated in FIG. 6F. FIG. 6F illustrates a video frame 600-6 of the360-degree video according to an embodiment of the present disclosure.The video frame 600-6 shows the 1:28th minute of the 360-degree video inthe default view.

FIG. 6G illustrates a video frame 600-7 of the 360-degree videoaccording to an embodiment of the present disclosure. In an example, ifthe user is in the user view mode and seeks to a seek point where theuser view mode is not available, the 360-degree video is rendered in thedefault view. Consider an example where the user is in the user viewmode at 2:20 min (as shown in FIG. 6C) of the video and the user seeksto 0:19 min of the video. Now, as described previously, the user did notwatch the 360-degree video in the user view mode at 0:19 minute. Thus,as shown in the video frame 600-7, the user is shown a view as per thedefault view.

FIG. 7 illustrates a plurality of view modes 700 and notations 702corresponding to the view modes 700. As an example, a notation 702-1corresponds to a default view 700-1. As shown in the figure, a view modemay be represented using different notations. For instance, a user view700-2 is represented using notations 702-2, 702-3, and 702-4, where702-2 is an icon, 702-3 is an image, and 702-4 is another icon (bubbleicon).

FIG. 8 illustrates a use case 800, according to an embodiment of thepresent disclosure. In the use case 800, a user A is watching a360-degree video. While watching the 360-degree video, the user A maychange his/her viewing angles multiple times. In an example, the user Amay happen to like a scene as per the viewing angle at time t2.Accordingly, the user A may tag the scene at time t2. After tagging thescene, the user A continues to watch the video, say in the default view.Now, in an example, when the user A wants to refer back to the scenetagged at time t2, the user A points the mouse at time t2 and options802 including one or more available view modes for playing the360-degree video at time t2 are provided to the user. As shown in thefigure, the options 802 include an option to view the 360-degree videoin a default view, in a user view, and the tagged view. Accordingly, theuser A may select to view the 360-degree video as per the tagged view.Thus, the user experience of watching the 360-degree video is enhanced.

FIG. 9 illustrates a use case 900, according to an embodiment of thepresent disclosure. In the use case 900, a user is watching a 360-degreevideo, say for the third time. As shown in the figure, the user is attime to and wishes to seek to a time tn-x. As the user has watched the360-degree video previously, when the user seeks to the seek point attn-x, the user is provided with options 902 to view the 360-degree. Theoptions 902, in an example, may include one or more timelines 904-1 to904-3 illustrating various viewing angles corresponding to previousviewing sessions of the 360-degree video by the user. In an example, thetimeline 904-1 corresponds to a first viewing session of the 360-degreevideo by the user. Similarly, the timeline 904-2 corresponds to a secondviewing session, for example, a viewing of the 360-degree video as perthe default view. Further, the timeline 904-3 corresponds to a thirdviewing session of the 360-degree video by the user. In an example, theuser may provide a user input 906, for example, a mouse click, forviewing the 360-degree video as per the third viewing session.

FIG. 10 illustrates a use case 1000, according to an embodiment of thepresent disclosure. In the use case 1000, interest based notificationsare provided to users watching the 360-degree video. Consider an examplewhere both, a user A and his father user B have common interest ofwatching 360-degree horror videos. In said case, suppose the user Bwatches a 360-degree horror video, in which one or more key scenes aremarked. During playing of the 360-degree horror video, the user B isprovided with notifications whenever a key scene is about to come. In anexample, the user B himself may add “key scene” tags to scenes which areappealing to the user B. Now whenever the user A starts watching the360-degree horror video, in addition to the default key scenes, the keyscenes tagged by the user A may be presented to the user. Accordingly,an example notification 1002 indicating that “key” scene is about tocome is provided to the user A. In an example, if the user A is alreadyin the viewing angle of the user B, no notification may be provided.

In an example, when the user A clicks on the notification 1002, theviewing angle is changed as per the tagged viewing angle. In an example,one or more filter options 1004 are provided to the user A. The filteroptions 1004 facilitate the user A in selecting notifications as per hischoice. For instance, say, seven people have seen the 360-degree horrorvideo. Now, the user A may choose to view notifications corresponding toonly three of the seven users. Accordingly, the user A may turn off thenotifications for other four users.

FIG. 11 illustrates a use case 1100, according to an embodiment of thepresent disclosure. In said use case 1100 statistical analysis withrespect to a 360-degree video are provided to a user. Consider anexample where a user A is an innovator and, works on innovative nextgenerations products. In an example, the user A has made a 360-degreevideo of his/her product seeks to get feedback from a pool ofexperimental buyers. Accordingly, the user A shared the 360-degree videowith the pool of buyers and, asks them to tag portions of the 360-degreevideo that they liked or simply view the 360-degree video (viewingactivity, such as viewing angles and user actions are recorded). Asinstructed, the experimental buyers tag different portions of the360-degree video based on their personal preferences or in another case,simply watch the 360-degree video. In said example, once all theexperimental buyers have seen the 360-degree video, the user A mayprovide a user input for generating the statistical analysis withrespect to the 360-degree video. In response to the user input, detailedstatistics of what the experimental buyers have liked is presented tothe user as a statistical report 1102. Further, the user A is providedwith filtering options 1104 to filter out one or more experimentalbuyers. Furthermore, in an example, the user A may provide a user input1106, for example, a click to jump to a viewing angle corresponding toan experimental buyer. Thus, this sort of insight really helps the userA to work effectively on the product and improve it.

FIG. 12 illustrates a use case 1200, according to an embodiment of thepresent disclosure. In the use case 1200, a user A may view a 360-degreevideo in the different user seek mode. For instance, the user A watchesaction movies, while user A's children watch a lot of 360-degreeeducational video. In an example, the user A decides to watch a360-degree educational video that user A's children usually watch. Afterwatching for a while, the user A seeks to check what the children havewatched. In an example, when the user A chooses to see what the childrenhave watched at time t2, information corresponding to the children'swatching of the 360-degree educational video at time t2 is provided tothe user via options 1202-1, 1202-2,

, and 1202-N. Further, the user A is provided with filtering options1204 to filter out one or more of the children.

FIG. 13 illustrates a graphical user interface (GUI) of a seek bar 1300according to an embodiment of the present disclosure. In an example, theseek bar 1300 includes colors 1302 corresponding to a plurality ofavailable view modes, media control options 1304, and indicators 1306corresponding to a plurality of users who have watched a same 360-degreevideo.

FIG. 14 illustrates a drop-down menu 1400. The drop-down menu 1400provides the user with options 1402-1 to 1402-N for selecting anavailable view mode for playing a 360-degree video. In an example, thedrop-down menu 1400 may be provided through a seek icon. In anotherexample, the drop-down menu 1400 may be provided through a seek bar.

FIG. 15 illustrates a use case in accordance with an embodiment of thepresent disclosure. In said use case the user is watching a 360-degreevideo in a default view and seeks to change a view mode by togglingusing a seek icon. As shown in GUI 1500 of the figure, a user mayprovide a user input 1502, for example, a touch input, on a seek icon1504. In response to the user input 1502, the view mode changes from adefault view mode 1506, as shown in the GUI 1500, to a user seek viewmode 1508, as shown in a GUI 1510. As shown in the GUI, the seek icon1504 changes to seek icon 1512, corresponding to the user seek viewmode.

FIG. 16 illustrates user activity of a user for playing a 360-degreevideo in accordance with an embodiment of the present disclosure. In anexample, the user activity may include providing a user input forchanging a view mode in which the 360-degree video is playing. In saidexample, if the user input is within a predefined threshold region 1600corresponding to a seek icon 1602, the user input is taken as an inputto change the view mode. Accordingly, the user is provided with a menu1604 for selecting a view mode from one or more available view modes.

In another example, the user activity may include providing a user inputto perform a seek activity to a seek point 1606 on a seek bar 1608. Insaid example, the user input is detected as a seek activity if the userinput is outside the predefined threshold region 1600.

FIG. 17 illustrates a use case 1700 whereby a user A seeks to changeviewing angle while watching a 360-degree video. In the FIG. 17, a videoframe 1702 of the 360-degree video is shown. In the use case, the user Amay seek to change viewing angle using a seek icon 1704 provided on aseek bar 1706. In said case, the user A may use a mouse pointer 1708 topoint over the seek icon 1704. In response, a drop down menu 1710 ispresented to the user A, as shown in the figure. In an example, the dropdown menu 1710 includes information related to viewing angle informationcorresponding to different users (B to F) who have viewed the video inthe past. Accordingly, the user A may select to view the 360-degreevideo as per a viewing angle of any of the different users (B to F). Asshown in the FIG. 17, the user A selects to view the 360-degree video asper the viewing angle of user D. Accordingly, the 360-degree video isplayed as per the viewing angle of the user D.

FIG. 18 shows a use case 1800. IN said use case, a user 1802 watching a360-degree video performs a seek action using a voice seek command. Asshown in the figure, the user 1802 is watching the 360-degree videousing a smartphone 1804. Further, as shown in the figure, the user iswatching a video frame 1806 corresponding to time reference 32:17 minuteof a 52:19 minute long video.

In said use case, multiple options 1808 of viewing the 360-degree videoas per different view modes are provided to the user on a seek bar 1810.For instance, 1808-1 may correspond to a most viewed mode, 1808-2 maycorrespond to a different user seek mode, and 1808-3 may correspond to atrending view mode.

Further, in said use case, a current seek point is shown by the seekicon 1812. In said use case, the user 1802 provides a voice command1814, for example, “seek to 38:41”, for seeking to a different seekpoint on the seek bar 1810. Based on the voice command, the seek actionis performed and the 360-degree video seeks to time reference 38:41minute. The same is illustrated in FIG. 19.

FIG. 19 shows a use case 1900. In said use case, a user 1902 watching a360-degree video performs a seek action using a voice seek command. Asshown in the figure, the user 1902 is watching the 360-degree videousing a laptop 1904. Further, as shown in the figure, the user iswatching a video frame 1906 corresponding to time reference 38:41 minuteof a 52:19 minute long video.

In said use case, multiple options 1908 of viewing the 360-degree videoas per different view modes are provided to the user on a seek bar 1910.For instance, 1908-1 may correspond to a different user seek mode,1908-2 may correspond to a trending view mode, and 1908-3 may correspondto a user-replay view mode. Further, in said use case, a current seekpoint is shown by the seek icon 1912.

In said use case, the user 1902 provides a user gesture 1914, forexample, a hand movement to view a list of available view modes. Basedon the user gesture 1914, a list 1916 of view modes is shown to the user1902. As shown in the list 1916, the user is provided with options toview the 360-degree video as per the different user seek mode, thetrending view mode, and the user-replay view mode. The user-replay viewmode corresponds to the user 1902.

Consider an example where the user selects to view the 360-degree videoas per the user-replay view mode. In said case, metadata associated withthe 360-degree video is accessed and accordingly, viewing angleinformation corresponding to the user-replay view mode is fetched. Theviewing angle information corresponding to the user-replay view modeincludes viewing angles as per which the user has seen the 360-degreevideo in the past. In addition, user actions with respect to thev360-degree video are also obtained from the metadata. The user actionsmay include seek events, zoom actions, video playback settings, userreplays, performed by the user 1902, performed by the user duringprevious viewing of the 360-degree video by the user 1902.

Subsequently, the 360-degree video is rendered to the user 1902 per theviewing angle information and the user actions obtained from themetadata related to the video.

While specific language has been used to describe the present subjectmatter, any limitations arising on account thereto, are not intended. Aswould be apparent to a person in the art, various working modificationsmay be made to the method in order to implement the inventive concept astaught herein. The drawings and the foregoing description give examplesof embodiments. Those skilled in the art will appreciate that one ormore of the described elements may well be combined into a singlefunctional element. Alternatively, certain elements may be split intomultiple functional elements. Elements from one embodiment may be addedto another embodiment.

1. A method for playing a 360-degree video by a media player, the methodcomprising: playing, by the media player, the 360-degree video;detecting, by the media player, at least one of selection of a view modefrom one or more available view modes using a seek icon and, a videoseek event to a seek point of the 360-degree video; and playing, by themedia player, the 360-degree video from the seek point according to aviewing angle determined based on at least one of a recorded viewingangle and the selected view mode.
 2. The method of claim 1, furthercomprising: recording, by the media player, one or more viewing anglescorresponding to a user's viewing of the 360-degree video; providinginformation pertaining to one or more available view modes for playingthe 360 degree video from the seek point to the user; and receiving auser input indicative of a selection of the view mode from the one ormore available view modes.
 3. The method of claim 2, wherein receivingthe user input indicative of the selection comprises at least one of:receiving selection of the view mode from a seek icon; receivingselection of the view mode from a menu; and receiving selection of theview mode in form of a voice command, wherein receiving selection of theview mode from the seek icon comprises receiving a toggle command on theseek icon.
 4. The method of claim 3, further comprising providinginformation pertaining to at least two stored viewing options at a pointof toggling.
 5. The method of claim 2, wherein the informationpertaining to the one or more available view modes is presented on aseek icon, wherein information pertaining to the one or more availableview modes is presented on a seek bar, and wherein each of the one ormore available view modes is associated with a different viewing angle.6. (canceled)
 7. The method of claim 1, further comprising displaying aseek bar on the media player, the seek bar comprising one or moreindicators corresponding to one or more available view modes for playingthe 360-degree video.
 8. The method of claim 1, further comprising:receiving a view mode-switch user input from the user; and switchingfrom a current view mode to a further view mode based on theview-mode-switch user input.
 9. (canceled)
 10. The method of claim 1,wherein the view mode is one of: a default view mode; an interest basedview mode; a user replay view mode; a user seek mode; a different userseek mode; a most viewed mode; and a trending view mode.
 11. The methodof claim 1, further comprising receiving selection of the view modebefore the video seek event; or receiving selection of the view modeafter the video seek event.
 12. The method of claim 1, furthercomprising: providing information pertaining to one or more availableview modes for playing the 360-degree video from the seek point to auser; and receiving a user input indicative of the selection of the viewmode from the one or more available view modes, wherein receivingselection of the view mode from a seek icon comprises receiving a togglecommand the seek icon, wherein the video seek event pertains to a seekpoint within a played time portion of the 360-degree video, wherein auser action on the seek icon is determined as view mode selection ifcurrent point of the seek icon and the seek point are within apredetermined threshold distance, and wherein a user action on the seekicon is determined as a video seek event if current point of the seekicon and the seek point are above a predetermined threshold distance.13.-14. (canceled)
 15. An apparatus for playing a 360-degree video, theapparatus comprising: at least one processor configured to: play the360-degree video; detect at least one of selection of a view mode fromone or more available view modes using a seek icon and, a video seekevent to a seek point of the 360-degree video; and play the 360-degreevideo from the seek point according to a viewing angle determined basedon at least one of a recorded viewing angle and the selected view mode.16. The apparatus of claim 15, wherein the at least one processor isfurther configured to: record one or more viewing angles correspondingto a user's viewing of the 360-degree video; provide informationpertaining to one or more available view modes for playing the 360degree video from the seek point to the user; and receive a user inputindicative of a selection of the view mode from the one or moreavailable view modes.
 17. The apparatus of claim 16, wherein, when theat least one processor receives the user input indicative of theselection, the at least one processor is configured to at least one of:receive selection of the view mode from a seek icon; receive selectionof the view mode from a menu; and receive selection of the view mode inform of a voice command, and wherein, when the at least one processorreceives the selection of the view mode from the seek icon, the at leastone processor is configured to receive a toggle command on the seekicon.
 18. The apparatus of claim 17, wherein the at least one processoris further configured to provide information pertaining to at least twostored viewing options at a point of toggling.
 19. The apparatus ofclaim 16, wherein the information pertaining to the one or moreavailable view modes is presented on a seek icon, wherein informationpertaining to the one or more available view modes is presented on aseek bar, and wherein each of the one or more available view modes isassociated with a different viewing angle.
 20. The apparatus of claim15, wherein the at least one processor is further configured to displaya seek bar on the apparatus, the seek bar comprising one or moreindicators corresponding to one or more available view modes for playingthe 360-degree video.
 21. The apparatus of claim 15, wherein the atleast one processor is further configured to: receive a view mode-switchuser input from the user; and switch from a current view mode to afurther view mode based on the view-mode-switch user input.
 22. Theapparatus of claim 15, wherein the view mode is one of: a default viewmode; an interest based view mode; a user replay view mode; a user seekmode; a different user seek mode; a most viewed mode; and a trendingview mode.
 23. The apparatus of claim 15, wherein the at least oneprocessor is further configured to: receive selection of the view modebefore the video seek event; or receive selection of the view mode afterthe video seek event.
 24. The apparatus of claim 15, wherein the atleast one processor is further configured to: provide informationpertaining to one or more available view modes for playing the360-degree video from the seek point to a user; and receive a user inputindicative of the selection of the view mode from the one or moreavailable view modes, wherein, when the at least one processor receivesselection of the view mode from a seek icon, the at least one processoris configured to receive a toggle command the seek icon, wherein thevideo seek event pertains to a seek point within a played time portionof the 360-degree video, wherein a user action on the seek icon isdetermined as view mode selection if current point of the seek icon andthe seek point are within a predetermined threshold distance, andwherein a user action on the seek icon is determined as a video seekevent if current point of the seek icon and the seek point are above apredetermined threshold distance.